package com.qzsoft.system.repository.sys.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.util.Date;

/**
 * 部门管理(SysDept)表实体类
 *
 * @author sdmq
 * @since 2019-08-06 09:56:27
 */
@ApiModel(value ="部门管理")
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("sys_dept")
public class SysDeptEntity extends Model<SysDeptEntity> {
    private static final long serialVersionUID = 248808962922530762L;
    /**
    *主键主键
    */
    @TableId
    @ApiModelProperty(value = "主键")
    private String pkid;
    /**
    *id步长3 唯一
    */
    @ApiModelProperty(value = "id步长3 唯一")
    private String id;
    /**
    *上级ID
    */
    @ApiModelProperty(value = "上级ID")
    private String pid;
    /**
     *机构编码
     */
    private String code;
    /**
    *所有上级ID，用逗号分开 废弃
    */
    @ApiModelProperty(value = "所有上级ID，用逗号分开 废弃")
    private String pids;
    /**
    *部门名称
    */
    @ApiModelProperty(value = "部门名称")
    private String name;
    /**
    *1 单位 2 部门  3分组
    */
    @ApiModelProperty(value = "1 单位 2 部门  3分组")
    private String type;
    /**
    *排序默认和id一致为了统一排序方便
    */
    @ApiModelProperty(value = "排序默认和id一致为了统一排序方便")
    private String sort;
    /**
    *简拼
    */
    @ApiModelProperty(value = "简拼")
    private String spell;
    /**
    *是否叶子节点
    */
    @ApiModelProperty(value = "是否叶子节点")
    private Boolean hasLeaf;
    /**
    *创建者
    */
    @ApiModelProperty(value = "创建者")
    private Long creator;
    /**
    *创建时间
    */
    @ApiModelProperty(value = "创建时间")
    private Date createDate;
    /**
    *更新者
    */
    @ApiModelProperty(value = "更新者")
    private Long updater;
    /**
    *更新时间
    */
    @ApiModelProperty(value = "更新时间")
    private Date updateDate;


    /*************** 2020-10-10 16:10:00 实体类增加信息字段 孙文文  MOD  START ***************/
    @TableField(exist = false)
    private int count;

    @TableField(exist = false)
    private int jobCount;

    @TableField(exist = false)
    private String orderField;

    @TableField(exist = false)
    private String order;

    @TableField(exist = false)
    private String pname;
    @TableField(exist = false)
    private String ptype;
    /**
     *子机构数
     */
    @ApiModelProperty(value = "子机构数")
    @TableField(exist = false)
    private int childCount;
    @ApiModelProperty(value = "机构路径")
    @TableField(exist = false)
    private String deptPath;
    /**
     *是否被选中
     */
    @ApiModelProperty(value = "是否被选中")
    @TableField(exist = false)
    private Boolean checked;

    /**
     *编码 步长3 唯一
     */
    @ApiModelProperty(value = "编码 步长3 唯一")
    @TableField(exist = false)
    private String newCompanyCode;

    /**
     *部门名称
     */
    @ApiModelProperty(value = "部门名称")
    @TableField(exist = false)
    private String newCompanyName;

    /**
     *部门名称
     */
    @ApiModelProperty(value = "部门名称")
    @TableField(exist = false)
    private String oldCode;

    /**
     *check错误消息
     */
    @ApiModelProperty(value = "check错误消息")
    @TableField(exist = false)
    private String error;
	
	/*************** 2020-10-10 16:10:00 实体类增加信息字段 孙文文  MOD  END ***************/

    /**
     * 获取主键值
     *
     * @return 主键值
     */
    @Override
    protected Serializable pkVal() {
        return this.pkid;
    }

    @ApiModelProperty(value = "默认角色名称")
    @TableField(exist = false)
    private String roleId;
    @ApiModelProperty(value = "角色名称")
    @TableField(exist = false)
    private String roleName;

}